      SUBROUTINE GRF_SYMBOL
     &          (xx,yy,height,isymbl,angle)

c***********************************************************************

c  Function:
c     Plots 132 characters and symbols;
c     the first 15 symbols are from the HP alternate character set 5 and
c     are drawn as centered symbols;
c     between 32 and 126 are the ASCII printable characters.

c  Parameters passed:
c     xx            [r] x position of character
c     yy            [r] y position of character
c     height        [r] height of the character in inches
c     isymbl        [i] integer containing the character index
c     angle         [r] angle of the character in degrees relative to
c                       the horizontal

c  Parameters returned:

c  Common blocks referenced:
c     symbol$

c  Functions and subroutines referenced:
c     abs
c     cos
c     sin

c     grf_draw
c     grf_move

c  Entry:

c  References:

c  Change History:
c     20 Jul 1993   Revised order of character output.

c*******************!***************************************************

      common/symbol$/
     &              p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,
     &              p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,
     &              p27,p28,spac,
     &              chra,chrb,chrc,chrd,chre,chrf,chrg,chrh,chri,chrj,
     &              chrk,chrl,chrm,chrn,chro,chrp,chrq,chrr,chrs,chrt,
     &              chru,chrv,chrw,chrx,chry,chrz,
     &              p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,
     &              p68,p69,p70,p71,
     &              chr0,chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,
     &              p82,p83,p84,p85,p86,p87,
     &              lca,lcb,lcc,lcd,lce,lcf,lcg,lch,lci,lcj,lck,lcl,
     &              lcm,lcn,lco,lcp,lcq,lcr,lcs,lct,lcu,lcv,lcw,lcx,
     &              lcy,lcz,
     &              p114,p115,p116,p117,p118,p119,p120,p121,p122,p123,
     &              p124,p125,p126,p127,p128,p129,p130,p131

      integer       ibuff(2414)
      equivalence  (ibuff(1),p0(1))

      integer       chrcnt(132),start(132),icr(133)

      integer       p0 (14),  p1 (22),  p2 (10),  p3 (12),  p4 (12),
     &              p5 (12),  p6 (14),  p7 (12),  p8 (16),  p9 (10),
     &              p10(26),  p11(18),  p12(12),  p13(6),   p14(18),
     &              p15(28),  p16(4),   p17(14),  p18(10),  p19(10),
     &              p20(12),  p21(6),   p22(10),  p23(10),  p24(52),
     &              p25(8),   p26(8),   p27(16),  p28(8)

      integer       spac(2)

      integer       chra(10), chrb(32), chrc(32), chrd(22), chre(12),
     &              chrf(10), chrg(34), chrh(12), chri(12), chrj(22),
     &              chrk(14), chrl(6),  chrm(10), chrn(8),  chro(34),
     &              chrp(18), chrq(38), chrr(26), chrs(36), chrt(8),
     &              chru(20), chrv(6),  chrw(10), chrx(8),  chry(10),
     &              chrz(8)

      integer       p56(16),  p57(4),   p58(8),   p59(6),   p60(8),
     &              p61(6),   p62(46),  p63(42),  p64(12),  p65(16),
     &              p66(56),  p67(20),  p68(34),  p69(14),  p70(16),
     &              p71(4)

      integer       chr0(34), chr1(10), chr2(26), chr3(38), chr4(8),
     &              chr5(28), chr6(36), chr7(6),  chr8(50), chr9(36)

      integer       p82(16),  p83(26),  p84(4),   p85(10),  p86(24),
     &              p87(12)

      integer       lca(44),  lcb(28),  lcc(24),  lcd(28),  lce(28),
     &              lcf(14),  lcg(40),  lch(18),  lci(14),  lcj(16),
     &              lck(14),  lcl(10),  lcm(32),  lcn(18),  lco(26),
     &              lcp(28),  lcq(28),  lcr(16),  lcs(36),  lct(16),
     &              lcu(18),  lcv(6),   lcw(10),  lcx(8),   lcy(14),
     &              lcz(12)

      integer       p114(30), p115(4),  p116(30), p117(20), p118(28),
     &              p119(40), p120(20), p121(8),  p122(12), p123(10),
     &              p124(10), p125(24), p126(24), p127(16), p128(8),
     &              p129(18), p130(12), p131(12)

      data          p0/78,118,78,196,156,196,156,40,0,40,0,196,78,196/  ! 14,  15
      data          p1/78,118,78,196,115,196,156,155,156,81,115,40,
     &                 41,40,0,81,0,155,41,196,78,196/                  ! 22,  37
      data          p2/78,118,78,196,156,40,0,40,78,196/                ! 10,  47
      data          p3/78,118,156,118,-78,40,78,196,0,-118,78,118/      ! 12,  59
      data          p4/78,118,156,196,-156,40,0,196,-78,118,0,40/       ! 12,  71
      data          p5/78,118,78,196,156,118,78,40,0,118,78,196/        ! 12,  83
      data          p6/78,118,0,118,78,196,156,118,78,118,78,196,78,40/ ! 14,  97
      data          p7/78,118,0,196,156,196,0,40,-78,118,156,40/        ! 12, 109
      data          p8/78,118,156,196,0,196,-156,40,0,40,78,118,38,118,
     &                 118,118/                                         ! 16, 125
      data          p9/78,118,0,196,-156,196,78,118,78,40/              ! 10, 135
      data          p10/78,118,118,159,118,78,38,78,38,159,118,159,
     &                  156,196,-156,40,118,78,-38,78,0,40,-38,159,
     &                  0,196/                                          ! 26, 161
      data          p11/78,118,0,118,156,118,-78,40,78,196,-156,196,
     &                  0,40,-156,40,0,196/                             ! 18, 179
      data          p12/78,118,0,196,156,196,0,40,156,40,78,118/        ! 12, 191
      data          p13/78,118,78,40,78,196/                            !  6, 197
      data          p14/78,118,78,196,156,79,0,79,78,196,-156,159,78,40,
     &                  0,159,156,159/                                  ! 18, 215
      data          p15/-20,171,25,176,29,182,29,206,20,206,20,196,
     &                  29,196,-51,171,56,176,60,182,60,206,51,206,
     &                  51,196,60,196/                                  ! 28, 243
      data          p16/0,-11,126,11/                                   !  4, 247
      data          p17/-86,60,86,40,0,40,43,118,0,196,86,196,86,176/   ! 14, 261
      data          p18/-86,60,0,60,0,-186,86,138,0,89/                 ! 10, 271
      data          p19/0,-60,86,60,-86,89,0,138,86,186/                ! 10, 281
      data          p20/0,-69,86,69,0,-102,86,102,0,-136,86,136/        ! 12, 293
      data          p21/-13,186,40,215,67,186/                          !  6, 299
      data          p22/-43,40,43,196,0,136,-43,196,86,136/             ! 10, 309
      data          p23/0,-100,43,40,86,100,-43,40,43,196/              ! 10, 319
      data          p24/-75,40,27,40,10,45,3,59,0,80,0,156,3,176,10,191,
     &                  27,196,60,196,75,191,83,176,86,156,86,132,
     &                  86,103,78,88,67,83,43,83,32,88,24,103,24,132,
     &                  32,146,43,152,67,152,78,146,86,132/             ! 52, 371
      data          p25/-87,20,60,20,60,216,87,216/                     !  8, 379
      data          p26/-1,20,28,20,28,216,1,216/                       !  8, 387
      data          p27/-11,40,43,196,-75,196,43,40,0,-98,86,98,0,-137,
     &                  86,137/                                         ! 16, 403
      data          p28/0,-60,86,60,43,176,0,60/                        !  8, 411
      data          spac/-156,40/                                       !  2, 413
      data          chra/0,40,43,196,86,40,-10,80,75,80/                ! 10, 423
      data          chrb/0,40,0,196,64,196,80,186,86,167,86,152,80,133,
     &                   64,123,80,113,86,94,86,69,80,50,64,40,0,40,
     &                   0,123,64,123/                                  ! 32, 455
      data          chrc/-84,75,80,60,72,45,55,40,31,40,14,45,5,60,0,90,
     &                   0,146,5,176,14,191,31,196,55,196,72,191,80,176,
     &                   84,161/                                        ! 32, 487
      data          chrd/0,40,0,196,43,196,62,191,80,176,86,146,86,90,
     &                   80,60,62,45,43,40,0,40/                        ! 22, 509
      data          chre/-86,196,0,196,0,40,86,40,0,-123,69,123/        ! 12, 521
      data          chrf/0,40,0,196,86,196,0,-123,69,123/               ! 10, 531
      data          chrg/-43,113,86,113,86,90,80,60,72,45,55,40,31,40,
     &                   14,45,5,60,0,90,0,146,5,176,14,191,31,196,
     &                   55,196,72,191,80,176/                          ! 34, 565
      data          chrh/0,40,0,196,-86,-196,86,40,0,-123,86,123/       ! 12, 577
      data          chri/-11,40,75,40,-11,-196,75,196,-43,40,43,196/    ! 12, 589
      data          chrj/-86,-196,32,196,0,-90,3,60,10,45,24,40,40,40,
     &                   54,45,62,60,64,90,64,196/                      ! 22, 611
      data          chrk/0,40,0,196,-86,-196,21,123,86,40,0,-123,21,123/! 14, 625
      data          chrl/0,-196,0,40,86,40/                             !  6, 631
      data          chrm/0,40,0,196,43,80,86,196,86,40/                 ! 10, 641
      data          chrn/0,40,0,196,86,40,86,196/                       !  8, 649
      data          chro/0,-90,0,146,5,176,14,191,31,196,55,196,72,191,
     &                   80,176,86,146,86,90,80,60,72,45,55,40,31,40,
     &                   14,45,5,60,0,90/                               ! 34, 683
      data          chrp/0,40,0,196,68,196,80,186,86,172,86,132,80,118,
     &                   68,108,0,108/                                  ! 18, 701
      data          chrq/0,-90,0,146,5,176,14,191,31,196,55,196,72,191,
     &                   80,176,86,146,86,90,80,60,72,45,55,40,31,40,
     &                   14,45,5,60,0,90,-55,-103,86,40/                ! 38, 739
      data          chrr/0,40,0,196,68,196,80,186,86,172,86,132,80,118,
     &                   68,108,80,98,86,84,86,40,0,-108,68,108/        ! 26, 765
      data          chrs/0,-69,5,50,18,40,67,40,80,50,86,69,86,94,
     &                   80,108,67,118,18,123,5,132,0,146,0,171,5,185,
     &                   18,196,64,196,77,185,84,171/                   ! 36, 801
      data          chrt/0,-196,86,196,-43,40,43,196/                   !  8, 809
      data          chru/0,-196,0,90,5,60,14,45,31,40,55,40,72,45,80,60,
     &                   86,90,86,196/                                  ! 20, 829
      data          chrv/0,-196,43,40,86,196/                           !  6, 835
      data          chrw/0,-196,5,40,43,156,77,40,86,196/               ! 10, 845
      data          chrx/0,40,86,196,0,-196,86,40/                      !  8, 853
      data          chry/-43,40,43,108,0,196,-86,-196,43,108/           ! 10, 863
      data          chrz/-5,-196,86,196,0,40,86,40/                     !  8, 871
      data          p56/0,-21,10,40,18,65,20,90,20,146,18,171,10,196,
     &                  0,215/                                          ! 16, 887
      data          p57/0,-118,86,118/                                  !  4, 891
      data          p58/-43,60,43,176,0,-118,86,118/                    !  8, 899
      data          p59/-87,60,0,118,87,176/                            !  6, 905
      data          p60/0,-98,86,98,0,-137,86,137/                      !  8, 913
      data          p61/0,-60,87,118,0,176/                             !  6, 919
      data          p62/-78,162,78,177,72,193,60,196,30,196,16,193,
     &                  11,177,11,157,16,141,22,133,85,40,-85,104,
     &                  85,74,80,54,69,45,46,40,29,40,15,45,5,54,
     &                  0,74,0,99,5,119,22,133/                         ! 46, 965
      data          p63/0,-70,5,55,19,45,43,45,67,45,80,55,86,59,86,94,
     &                  80,108,67,117,19,122,5,132,0,146,0,166,5,181,
     &                  19,191,65,191,78,181,83,166,-43,215,43,21/      ! 42,1007
      data          p64/-11,60,65,176,-11,176,65,60,-86,118,0,118/      ! 12,1019
      data          p65/-85,21,75,40,67,65,65,90,65,146,67,171,75,196,
     &                  85,215/                                         ! 16,1035
      data          p66/0,-40,86,196,-36,146,39,156,39,182,36,192,
     &                  27,196,11,196,3,192,0,182,0,156,3,146,11,142,
     &                  27,142,36,146,-58,94,74,94,83,90,86,80,86,54,
     &                  83,44,74,40,58,40,50,44,47,54,47,80,50,90,58,94/! 56,1091
      data          p67/0,-40,9,40,9,50,0,50,0,40,0,-146,9,146,9,156,
     &                  0,156,0,146/                                    ! 20,1111
      data          p68/-35,40,44,40,44,50,35,50,35,40,-39,89,41,103,
     &                  46,113, 68,118,81,128,87,143,87,172,81,187,
     &                  69,196,20,196,6,187,0,172/                      ! 34,1145
      data          p69/-3,196,3,92,0,-49,5,49,5,40,0,40,0,49/          ! 14,1159
      data          p70/0,-15,5,20,9,26,9,40,9,50,0,50,0,40,9,40/       ! 16,1175
      data          p71/-86,40,8,215/                                   !  4,1179
      data          chr0/-35,40,19,50,10,64,3,94,3,142,10,171,19,186,
     &                   35,196,52,196,68,186,75,171,83,142,83,94,75,64,
     &                   68,50,52,40,35,40/                             ! 34,1213
      data          chr1/-75,40,21,40,-21,-170,48,196,48,40/            ! 10,1223
      data          chr2/-86,40,0,40,9,89,22,103,65,113,81,123,86,142,
     &                   86,166,81,186,65,196,25,196,9,186,3,166/       ! 26,1249
      data          chr3/0,-69,5,49,20,40,67,40,80,49,86,69,86,95,
     &                   80,113,67,123,78,132,82,151,82,166,78,186,
     &                   65,196,22,196,9,186,3,171,-27,-123,67,123/     ! 38,1287
      data          chr4/-75,40,75,196,0,79,86,79/                      ! 8,1295
      data          chr5/0,-65,5,49,22,40,65,40,80,49,86,68,86,113,
     &                   80,132,65,142,25,142,8,132,0,117,0,196,86,196/ ! 28,1323
      data          chr6/-86,-166,81,186,68,196,20,196,5,186,0,166,
     &                   0,70,5,49,20,40,68,40,81,49,86,70,86,99,
     &                   81,118,68,127,20,127,5,118,0,99/               ! 36,1359
      data          chr7/0,-196,86,196,20,40/                           !  6,1365
      data          chr8/-20,-123,9,132,3,152,3,171,9,186,22,196,65,196,
     &                   65,196,78,186,82,166,82,151,78,132,67,123,
     &                   20,123,5,113,0,94,0,69,5,49,20,40,67,40,80,49,
     &                   86,69,86,94,80,113,67,123/                     ! 50,1415
      data          chr9/0,-69,5,49,20,40,67,40,80,49,86,69,86,166,
     &                   80,186,67,196,20,196,5,186,0,146,0,137,
     &                   5,117,20,108,67,108,80,117,86,137/             ! 36,1451
      data          p82/-40,171,45,176,49,182,49,196,49,206,40,206,
     &                  40,196,49,196/                                  ! 16,1467
      data          p83/0,-15,5,20,9,26,9,40,9,50,0,50,0,40,9,40,
     &                  -9,146,9,156,0,156,0,146,9,146/                 ! 26,1493
      data          p84/-8,40,86,215/                                   !  4,1497
      data          p85/0,-40,8,40,8,50,0,50,0,40/                      ! 10,1507
      data          p86/-20,89,66,89,66,147,20,147,20,89,0,60,-86,60,
     &                  66,89,-66,147,86,176,0,-176,20,147/             ! 24,1531
      data          p87/-22,59,65,177,0,-98,86,98,-86,137,0,137/        ! 12,1543
      data          lca/-74,60,65,45,56,40,15,40,8,45,0,60,0,89,8,103,
     &                  19,108,56,108,67,103,74,89,-74,40,74,60,74,89,
     &                  74,117,72,137,65,152,50,156,27,156,10,152,5,147/! 44,1587
      data          lcb/0,-40,0,196,0,70,8,50,24,40,51,40,66,50,74,74,
     &                  74,123,66,147,51,156,24,156,8,147,0,128/        ! 28,1615
      data          lcc/-74,123,66,147,51,156,24,156,8,147,0,123,0,74,
     &                  8,50,24,40,51,40,66,50,74,74/                   ! 24,1639
      data          lcd/-74,196,74,40,-74,123,66,147,51,156,24,156,
     &                   8,147,0,123,0,74,8,50,24,40,51,40,66,50,74,74/ ! 28,1667
      data          lce/0,-103,74,103,74,123,66,147,50,156,24,156,
     &                  8,147,0,123,0,74,8,50,24,40,50,40,66,48,74,55/  ! 28,1695
      data          lcf/-33,40,33,176,38,190,50,196,65,196,-13,138,
     &                  65,138/                                         ! 14,1709
      data          lcg/-3,10,30,1,52,1,67,10,74,30,74,84,74,123,74,156,
     &                  -74,123,66,147,51,156,24,156,8,147,0,123,0,84,
     &                  8,60,24,50,51,50,66,60,74,84/                   ! 40,1749
      data          lch/0,-40,0,196,0,-129,8,147,24,156,51,156,66,147,
     &                  74,123,74,40/                                   ! 18,1767
      data          lci/-18,40,71,40,-50,40,50,146,18,146,-40,185,
     &                  40,196/                                         ! 14,1781
      data          lcj/-18,1,32,1,45,6,50,20,50,146,18,146,-40,185,
     &                  40,196/                                         ! 16,1797
      data          lck/0,-40,0,196,0,-93,16,93,-75,40,16,93,70,156/    ! 14,1811
      data          lcl/-16,40,69,40,-48,40,48,196,16,196/              ! 10,1821
      data          lcm/0,-40,0,156,0,-128,5,147,15,156,27,156,38,147,
     &                  43,128,48,147,59,156,70,156,80,147,85,128,86,40,
     &                  -43,40,43,128/                                  ! 32,1853
      data          lcn/0,-40,0,156,0,-130,8,146,24,156,50,156,66,146,
     &                  74,130,74,40/                                   ! 18,1871
      data          lco/-24,40,50,40,66,50,74,74,74,122,66,146,50,156,
     &                  24,156,8,146,0,122,0,74,8,50,24,40/             ! 26,1897
      data          lcp/0,-1,0,156,0,-130,8,146,24,156,50,156,66,146,
     &                  74,122,74,74,66,50,50,40,24,40,8,50,0,66/       ! 28,1925
      data          lcq/-74,1,74,156,-74,130,66,146,50,156,24,156,8,146,
     &                  0,122,0,74,8,50,24,40,50,40,66,50,74,66/        ! 28,1953
      data          lcr/0,-40,0,156,0,-118,10,146,26,156,50,156,66,146,
     &                  74,123/                                         ! 16,1969
      data          lcs/0,-60,8,45,24,40,52,40,68,45,74,60,74,85,68,97,
     &                  52,102,24,102,8,106,0,116,0,140,8,150,24,156,
     &                  52,156,68,150,74,140/                           ! 36,2005
      data          lct/0,-146,65,146,-22,166,22,60,30,45,42,40,66,40,
     &                  74,50/                                          ! 16,2021
      data          lcu/0,-156,0,70,8,50,24,40,52,40,66,50,74,70,-74,40,
     &                  74,156/                                         ! 18,2039
      data          lcv/0,-156,37,40,74,156/                            !  6,2045
      data          lcw/0,-156,15,40,43,129,74,40,86,156/               ! 10,2055
      data          lcx/0,-40,70,156,0,-156,70,40/                      !  8,2063
      data          lcy/0,-156,44,40,-74,156,44,40,38,15,27,1,15,1/     ! 14,2077
      data          lcz/-3,156,72,156,0,40,74,40,-24,98,44,98/          ! 12,2089
      data          p114/-87,20,78,20,73,25,70,35,70,93,67,104,62,114,
     &                   53,118,62,122,67,132,70,143,70,206,73,211,
     &                   78,216,87,216/                                 ! 30,2119
      data          p115/-30,20,30,216/                                 !  4,2123
      data          p116/-1,20,10,20,15,25,18,35,18,93,21,104,26,114,
     &                   35,118,26,122,21,132,18,143,18,206,15,211,
     &                   10,216,1,216/                                  ! 30,2153
      data          p117/0,-184,10,193,18,196,27,196,32,193,43,187,
     &                   48,184,57,184,65,187,75,196/                   ! 20,2173
      data          p118/0,-74,86,74,0,-107,86,107,0,-136,13,160,
     &                   19,165,27,165,36,160,50,140,59,136,67,136,
     &                   73,140,86,165/                                 ! 28,2201
      data          p119/0,-98,13,122,19,127,27,127,36,122,50,102,
     &                   59,98,67,98,73,102,86,122,0,-141,13,160,
     &                   19,165,27,165,36,160,50,140,59,136,67,136,
     &                   73,140,86,165/                                 ! 40,2241
      data          p120/0,-103,13,127,19,132,27,132,36,127,50,107,
     &                   59,103,67,103,73,107,86,132/                   ! 20,2261
      data          p121/0,-40,86,40,43,196,0,40/                       !  8,2269
      data          p122/0,-196,82,196,-20,196,20,40,-62,40,62,196/     ! 12,2281
      data          p123/0,-118,86,118,-61,102,86,118,61,134/           ! 10,2291
      data          p124/-25,102,0,118,25,134,0,-118,86,118/            ! 10,2301
      data          p125/-5,7,11,1,19,1,27,7,32,11,40,74,45,160,53,215,
     &                   58,229,66,235,74,235,80,229/                   ! 24,2325
      data          p126/-39,60,47,60,47,70,39,70,39,60,0,-118,86,118,
     &                   -39,166,47,166,47,176,39,176,39,166/           ! 24,2349
      data          p127/-11,142,33,181,0,196,-33,216,33,181,54,142,
     &                   -33,181,65,196/                                ! 16,2365
      data          p128/-43,40,86,196,0,196,43,40/                     !  8,2373
      data          p129/-8,171,19,171,27,180,27,196,19,206,8,206,
     &                   0,196,0,180,8,171/                             ! 18,2391
      data          p130/0,-54,86,54,-43,69,43,186,0,-132,86,132/       ! 12,2403
      data          p131/-43,50,43,157,0,-103,86,103,0,-182,86,182/     ! 12,2415

c     chrcnt(n):    number of x and y array points in Nth plot character

      data chrcnt/   14,   22,   10,   12,   12,   12,   14,   12,   16,
     &               10,   26,   18,   12,    6,   18,   28,    4,   14,
     &               10,   10,   12,    6,   10,   10,   52,    8,    8,
     &               16,    8,    2,   10,   32,   32,   22,   12,   10,
     &               34,   12,   12,   22,   14,    6,   10,    8,   34,
     &               18,   38,   26,   36,    8,   20,    6,   10,    8,
     &               10,    8,   16,    4,    8,    6,    8,    6,   46,
     &               42,   12,   16,   56,   20,   34,   14,   16,    4,
     &               34,   10,   26,   38,    8,   28,   36,    6,   50,
     &               36,   16,   26,    4,   10,   24,   12,   44,   28,
     &               24,   28,   28,   14,   40,   18,   14,   16,   14,
     &               10,   32,   18,   26,   28,   28,   16,   36,   16,
     &               18,    6,   10,    8,   14,   12,   30,    4,   30,
     &               20,   28,   40,   20,    8,   12,   10,   10,   24,
     &               24,   16,    8,   18,   12,   12/

c     start(n):     element in IBUFF for 1st point in Nth plot character

      data start/     1,   15,   37,   47,   59,   71,   83,   97,  109,
     &              125,  135,  161,  179,  191,  197,  215,  243,  247,
     &              261,  271,  281,  293,  299,  309,  319,  371,  379,
     &              387,  403,  411,  413,  423,  455,  487,  509,  521,
     &              531,  565,  577,  589,  611,  625,  631,  641,  649,
     &              683,  701,  739,  765,  801,  809,  829,  835,  845,
     &              853,  863,  871,  887,  891,  899,  905,  913,  919,
     &              965, 1007, 1019, 1035, 1091, 1111, 1145, 1159, 1175,
     &             1179, 1213, 1223, 1249, 1287, 1295, 1323, 1359, 1365,
     &             1415, 1451, 1467, 1493, 1497, 1507, 1531, 1543, 1587,
     &             1615, 1639, 1667, 1695, 1709, 1749, 1767, 1781, 1797,
     &             1811, 1821, 1853, 1871, 1897, 1925, 1953, 1969, 2005,
     &             2021, 2039, 2045, 2055, 2063, 2077, 2089, 2119, 2123,
     &             2153, 2173, 2201, 2241, 2261, 2269, 2281, 2291, 2301,
     &             2325, 2349, 2365, 2373, 2391, 2403/

c     icr(n):       output character order

      data icr/
c                   CALCOMP centered symbols
     &               0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
     &              10,  11,  12,  13,  14,
c                   Extended characters set 1
     &                                      130, 131,  27,  18,  19,
     &              20, 118, 119, 120, 121, 128, 123, 124,  22,  23,
     &              64, 126,
c                   ASCII characters
     &                        29,  69,  15,  27,  63,  66,  62,  82,
     &              65,  56,  64,  58,  70,  57,  85,  84,  72,  73,
     &              74,  75,  76,  77,  78,  79,  80,  81,  67,  83,
     &              59,  60,  61,  68,  24,  30,  31,  32,  33,  34,
     &              35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
     &              45,  46,  47,  48,  49,  50,  51,  52,  53,  54,
     &              55,  25,  71,  26,  21,  16,  82,  88,  89,  90,
     &              91,  92,  93,  94,  95,  96,  97,  98,  99, 100,
     &             101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
     &             111, 112, 113, 114, 115, 116, 117,
c                   Extended characters set 2
     &                                                 17, 125, 122,
     &             129,  86,  28/

      data          xfac/5.5644587e-3/,yfac/5.5644587e-3/
      data          deg_to_rad/.01745329252/

c     Determine rotation factor
      rsin=SIN(angle*deg_to_rad)
      rcos=COS(angle*deg_to_rad)

c     Move to the start of the symbol
      call GRF_MOVE (xx,yy)

c     Generate character
      x0=xx
      y0=yy

      if (isymbl .ge. 0 .and. isymbl .le. 133) then
c        Valid character
         ndx=icr(isymbl+1)+1
      else
c        Undefined character; draw a space
         ndx=30
      end if

      is=start(ndx)
      do ipoint=1,chrcnt(ndx),2
         if (ndx .gt. 15) then
            xp= ABS(ibuff(is  )     )*height*xfac
            yp=(ABS(ibuff(is+1))- 40)*height*yfac
         else
            xp=(ABS(ibuff(is  ))- 78)*height*xfac
            yp=(ABS(ibuff(is+1))-118)*height*yfac
         end if
         x=x0+xp*rcos-yp*rsin
         y=y0+xp*rsin+yp*rcos
         if (ibuff(is) .lt. 0 .or. ibuff(is+1) .lt. 0) then
            call GRF_MOVE (x,y)
         else
            call GRF_DRAW (x,y)
         end if
         is=is+2
      end do

c     Move to the start of the symbol
      call GRF_MOVE (xx,yy)

      RETURN
      END      ! GRF_SYMBOL
